\begin{itemize}
	\item{\textbf{Acci\'on:}}
	Esta es la otra posible funci\'on para lograr convertir a escala de grises una imagen color, en este caso la cuenta es diferente:\\
I(p) = (R+2G+B)/4, donde $p$ se considera compuesto por tres componentes: RGB.
	\item{\textbf{Prototipo:}}
	void $monocromatizar\_inf$(unsigned char *$src$, unsigned char *$dst$, int $h$, int $w$, int $src\_row\_size$, int $dst\_row\_size$)
	\item{\textbf{Procedimiento en C:}}
	Al igual que en la versi\'on Monocromatizar infinito recorremos 3 pixeles de la matriz de origen para generar un pixel en la matriz destino, s\'olo cambia la cuenta que hacemos para generar este pixel. Al igual que antes no hay paralelismo al procesar los datos, esta ser\'a visible m\'as adelante cuando realicemos las mediciones de cantidad de ciclos de clock utilizados para ejecutar cada algoritmo.
	\item{\textbf{Procedimiento en ASM:}}
	Al igual que en el c\'odigo de Monocromatizar infinito recorremos la matriz fuente de a 12 bytes y la matriz destino de a 4, ya que como comentamos anteriormente los 12 bytes de informaci\'on luego de ser procesados nos dan 4 bytes para la matriz en escala de grises. La forma en que tratamos los \'ultimos bytes de cada fila es la misma que en la funci\'on anterior, chequeamos los bytes restantes, movemos los punteros esa cantidad de bytes y luego restamos la cantidad de bytes con la cual ven\'iamos procesando para poder usar el mismo m\'etodo en los \'ultimos bytes de la fila. En cuanto al procesamiento de bytes, esta funci\'on se diferencia de la anterior en la cuenta que realizamos. Pasaremos a detallar el proceso: primero obtenemos de la matriz original 12 bytes de informaci\'on:\\

 $xmm1$ =$|$ 00 $|$ 01 $|$ 02 $|$ 03 $|$ =  R  G  B  R\\
 $xmm2$ =$|$ 04 $|$ 05 $|$ 06 $|$ 07 $|$ =  G  B  R  G\\
 $xmm3$ = $|$ 08 $|$ 09 $|$ 0A $|$ 0B $|$ =  B  R  G  B\\

Que son organizado de la siguiente manera:\\

$xmm4$ = $|$ blu2 $|$ blu5 $|$ blu8 $|$ bluB $|$\\
$xmm5$ = $|$ gre1 $|$ gre4 $|$ gre7 $|$ greA $|$\\
$xmm6$ = $|$ red0 $|$ red3 $|$ red6 $|$ red9 $|$\\

De la misma manera que se trabaj\'o en monocromatizar infinito.
Luego podemos paralelizar la cuenta obteniendo los 4 pixeles para la matriz destino.
En este caso cambia con respecto a la funci\'on monocromatizar infinito, ya que para procesar los 3 registos, que ya poseen cada uno su color primario ordenado de menor a mayor, la cuenta es diferente:\\
Primero sumamos consigo mismo el registros $xmm5$ que contiene la informaci\'on correspondiente al color Green a trav\'es de la instrucci\'on $paddd$, luego sumamos $xmm4$ + $xmm5$ + $xmm6$, ya que la cuenta requer\'ia (B+2G+R) , por \'ultimo dividimos por 4 con la instrucci\'on $psrad$. Y para terminar pasamos los 4 doublewords a bytes con las instrucciones $packssdw$ y $packuswb$. Los cuales se cargan en la matriz destino a trav\'es de la instrucci\'on $movd$.
\end{itemize}
